package dataStructer803;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/*ArrayList顺序表的构造*/
public class Test03 {
    public static void main(String[] args) {
/*        //无参构造
        List<Integer> list1 = new ArrayList<>();
        //传递一个初始容量
        List<Integer> list2 = new ArrayList<>(10);
        //传递一个集合构造(这样构造出来的和传递的集合一摸一样)
        List<Integer> list3 = new ArrayList<>(list1);*/
        
        //三种循环方式
        //1.普通for循环
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(5);
        list.add(5);
        list.add(5);
        list.add(5);
        list.add(5);
        list.add(5);
        list.add(5);
        for (int i = 0; i < list.size(); i++) {
            //获取某个下标的元素，用get方法
            System.out.print(list.get(i) + "\t");
        }
        System.out.println();
        //2.foreach遍历(这里我们用Integer接收，因为我们上面泛型就是Integer)
        for (Integer i : list) {
            System.out.print(i + "\t");
        }
        System.out.println();
        //3.迭代器遍历
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
    }
}
